home *** CD-ROM | disk | FTP | other *** search
/ MAG.E 8 / MAG.E 8 (Disk 1 of 2).adf / Char_Gen / CoC-CharGen.ASC
Text File  |  1995-07-27  |  13KB  |  496 lines

  1. '
  2. '
  3. '
  4. '                  Call of Cthulhu  Character Generator
  5. '
  6. '                  USE  Load Menu - Merge ASCII in AMOS
  7. '
  8. '
  9. Dim OCCUPATION$(9),SKILL$(60),SKILL(60)
  10. '
  11. Gosub INIT
  12. '
  13. '
  14. For A=1 To 9 : Read OCCUPATION$(A) : Next A
  15. For A=1 To 60 : Read SKILL$(A) : Next A
  16. For A=1 To 60 : SKILL(A)=0 : Next A
  17. '
  18. '
  19. '
  20. '   ------------------------- START OF PROGRAM ------------------------
  21. '
  22. '
  23. '
  24. Gosub CREATE_CHARS
  25. Gosub BONUS
  26. Gosub SKILLS
  27. Gosub SCHOOL
  28. '
  29. '
  30. '
  31. ' ---------------------------  MAIN LOOP ----------------------------
  32. '
  33. '
  34. 'Repeat  
  35. '
  36. 'Cls 
  37. 'Gosub TIME
  38. 'Gosub MOVEMENT
  39. 'Gosub ENCUMBRANCE 
  40. 'Gosub MELEE 
  41. 'Gosub STRIKE
  42. 'Gosub HIT_LOCATION
  43. '
  44. 'Until DEATH 
  45. '
  46. '
  47. Gosub DELAY
  48. '
  49. Print "Saving To Disk"
  50. Gosub DISK
  51. '
  52. Gosub FINISH
  53. '
  54. End 
  55. '
  56. '
  57. '
  58. ' ************************************************************************** 
  59. '
  60. '
  61. INIT:
  62. Randomize Timer
  63. Screen Open 0,640,256,16,Hires
  64. Curs Off 
  65. Cls 0
  66. Hide 
  67. Flash Off 
  68. Palette 0,0
  69. '
  70. Return 
  71. '
  72. '
  73. ' -------------------------------------------------------------------------- 
  74. '
  75. '
  76. CREATE_CHARS:
  77. '
  78. '
  79. '
  80. STR=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  81. CON=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  82. SIZ=(Rnd(5)+1)+(Rnd(5)+1)+6
  83. IQ=(Rnd(5)+1)+(Rnd(5)+1)+6
  84. POW=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  85. DEX=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  86. APP=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  87. EDU=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+3
  88. '
  89. '
  90. Print "Strength         ";STR
  91. Print "Constitution     ";CON
  92. Print "Size             ";SIZ
  93. Print "Intelligence     ";IQ
  94. Print "Power            ";POW
  95. Print "Dexterity        ";DEX
  96. Print "Appearance       ";APP
  97. Print "Education        ";EDU
  98. '
  99. Print 
  100. If EDU>=16 Then Print "You have also graduated from university with a degree"
  101. '
  102. '
  103. OKAY=0
  104. Print 
  105. Repeat 
  106. Repeat 
  107. Input "Enter Sex (M/F) ";SEX$
  108. Until SEX$<>""
  109. '
  110. If SEX$="M" Then OKAY=1
  111. If SEX$="F" Then OKAY=1
  112. '
  113. Until OKAY=1
  114. '
  115. '
  116. IDEA=IQ*5
  117. LUCK=POW*5
  118. KNOW=EDU*5
  119. SAN=LUCK
  120. SAN_MOST=99-MYTH_KNOW
  121. HP=(SIZ+CON)/2
  122. MP=POW
  123. '
  124. '
  125. Return 
  126. '
  127. '
  128. ' -------------------------------------------------------------------------- 
  129. '
  130. '
  131. BONUS:
  132. '
  133. '
  134. If STR+SIZ<=12 Then BONUS=-(Rnd(5)+1)
  135. If STR+SIZ<=16 Then If STR+SIZ>=13 Then BONUS=-(Rnd(3)+1)
  136. If STR+SIZ<=32 Then If STR+SIZ>=25 Then BONUS=(Rnd(3)+1)
  137. If STR+SIZ<=40 Then If STR+SIZ>=33 Then BONUS=(Rnd(5)+1)
  138. If STR+SIZ<=56 Then If STR+SIZ>=41 Then BONUS=(Rnd(5)+1)+(Rnd(5)+1)
  139. If STR+SIZ<=72 Then If STR+SIZ>=57 Then BONUS=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  140. If STR+SIZ<=88 Then If STR+SIZ>=73 Then BONUS=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  141. If STR+SIZ<=104 Then If STR+SIZ>=89 Then BONUS=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  142. If STR+SIZ<=120 Then If STR+SIZ>=105 Then BONUS=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  143. If STR+SIZ<=136 Then If STR+SIZ>=121 Then BONUS=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  144. If STR+SIZ<=152 Then If STR+SIZ>=137 Then BONUS=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  145. If STR+SIZ<=168 Then If STR+SIZ>=153 Then BONUS=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  146. If STR+SIZ<=184 Then If STR+SIZ>=169 Then BONUS=(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)+(Rnd(5)+1)
  147. '
  148. '
  149. Return 
  150. '
  151. '
  152. ' -------------------------------------------------------------------------- 
  153. '
  154. '
  155. SKILLS:
  156. '
  157. '
  158. '                           Select an Occupation 
  159. '
  160. Cls 
  161. For A=1 To 9 : Print A,OCCUPATION$(A) : Next A
  162. '
  163. Print 
  164. Print "Pick number that responds to chosen profession ";
  165. Repeat 
  166. Input OCC
  167. Until OCC<10
  168. '
  169. Cls 
  170. Print "The skills of a ";OCCUPATION$(OCC);" are "
  171. Print 
  172. '
  173. '
  174. '
  175. '                          Occupation Skills 
  176. '
  177. If OCC=1 Then Print "Bargain     ","History    ","Law     ","Library Use","Make Maps","Other Language"
  178. If OCC=2 Then Print "History","Library Use","Oratory","Psychology","Own Language","Other Language"
  179. If OCC=3 Then Print "Any"
  180. If OCC=4 Then Print "Credit Rating","Diagnose Disease","First Aid    ","Pharmacy","Psychoanalysis  ","Latin      ","Treat Disease","Treat Poison"
  181. If OCC=5 Then Print "Debate    ","Fast Talk","Oratory    ","Psychology","Other Language","Own Language"
  182. If OCC=6 Then Print "Accounting","Credit Rating","Debate    ","Fast Talk    ","Law     ","Library Use ","Oratory   ","Psychology","Latin      "
  183. If OCC=7 Then Print "Anthropology","Archaelogy","History    ","Library Use","Occult     ","Pyschoanalysis  ","Psychology","Other Language"
  184. If OCC=8 Then Print "Accounting","Conceal    ","Credit Rating","Fast Talk ","First Aid  ","Hide       ","Law        ","Listen      ","Psychology","Sneak       ","Spot Hidden","Handgun Attack"
  185. If OCC=9 Then Print "Anthropology","Archaelogy","Astronomy","Botany   ","Chemistry","Debate","Geology ","History  ","Library Use","Linguist","Occult    ","Other Language","Zoology   "
  186. '
  187. Print 
  188. Print "You have a total of ";EDU*15;" to invest into the above skills"
  189. Print 
  190. Print 
  191. Print 
  192. '
  193. '
  194. '
  195. '                       Personal Interest Skills 
  196. '
  197. For A=1 To 15 : Print SKILL$(A);"      ";SKILL$(A+15);"      ";SKILL$(A+30);"      ";SKILL$(A+45) : Next A
  198. '
  199. Print 
  200. Print "You have a total of ";IQ*5;" to invest in the above skills"
  201. '
  202. '
  203. '
  204. '
  205. '
  206. '
  207. 'Magic Points
  208. '  Speciality: 
  209. '  Skill:
  210. '  Base: 
  211. '
  212. '
  213. '
  214. Return 
  215. '
  216. '
  217. ' -------------------------------------------------------------------------- 
  218. '
  219. '
  220. SCHOOL:
  221. '
  222. '
  223. 'Additional schooling? 
  224. 'Schooling paid off. 
  225. 'Schooling had no effect.
  226. '
  227. '
  228. Return 
  229. '
  230. '
  231. ' -------------------------------------------------------------------------- 
  232. '
  233. '
  234. '
  235. '
  236. '
  237. 'Return  
  238. '
  239. '
  240. ' -------------------------------------------------------------------------- 
  241. '
  242. '
  243. '
  244. 'Return  
  245. '
  246. '
  247. '
  248. ' -------------------------------------------------------------------------- 
  249. '
  250. '
  251. '
  252. '
  253. 'Return  
  254. '
  255. '
  256. ' -------------------------------------------------------------------------- 
  257. '
  258. '
  259. FINISH:
  260. Clw 
  261. Wind Close 
  262. Clw 
  263. Curs Off 
  264. '
  265. '
  266. ' -------------------------------------------------------------------------- 
  267. '
  268. '
  269. DELAY:
  270. Print 
  271. Print "PRESS ANY KEY TO CONTINUE"
  272. Repeat 
  273. I$=Inkey$
  274. Until I$<>""
  275. Return 
  276. '
  277. '
  278. ' -------------------------------------------------------------------------- 
  279. '
  280. '
  281. '
  282. DISK:
  283. Cls 
  284. Locate 0,10 : Centre "Save (Y/N)?"
  285. Repeat 
  286. I$=Inkey$
  287. Until I$<>""
  288. If I$="n" Then Cls : Print "Program Terminted..." : End 
  289. If I$="y" Then Goto FILENAME
  290. Goto DISK
  291. '
  292. '
  293. '
  294. FILENAME:
  295. Locate 10,12
  296. Input "Filename (Specify Drive) :";F$
  297. If F$="" Then Goto DISK
  298. '
  299. '
  300. ' If you require a printer output then replace   Print "   with    LPrint "
  301. '
  302. ' If you want to save character to disk, then remove  '  from the
  303. ' Open Out 1,F$   line below and then replace   Print "    with    Print #1,"
  304. '
  305. '
  306. ' Open Out 1,F$
  307. '
  308. '
  309. ' ************************************************************************** 
  310. '
  311. '
  312. '
  313. Print "   ------------------------------------------------------------------------ "
  314. Print "         CALL OF CTHULHU                               Character Card"
  315. Print "   ------------------------------------------------------------------------ "
  316. Print 
  317. Print "   Name           "
  318. Print "   Occupation                           Sex            Age  "
  319. Print "   Nationality                          Residence           "
  320. Print "   Schools        "
  321. Print "   Degrees        "
  322. Print 
  323. Print 
  324. Print "   STR ";STR;"    DEX ";DEX;"    INT ";IQ;"    Idea ";IDEA
  325. Print "   CON ";CON;"    APP ";APP;"    POW ";POW;"    Luck ";LUCK
  326. Print "   SIZ ";SIZ;"    SAN ";SAN;"    EDU ";EDU;"    Know ";KNOW
  327. Print 
  328. Print 
  329. Print "   MAGIC POINTS           ";MP
  330. Print "   HIT POINTS             ";HP
  331. Print "   SANITY POINTS (Max=";SAN_MOST;") ";SAN
  332. Print "   DAMAGE BONUS           ";BONUS
  333. Print 
  334. Print 
  335. '
  336. Gosub DELAY
  337. '
  338. Print "   ------------------------------------------------------------------------ "
  339. Print 
  340. Print "                               INVESTIGATOR SKILLS"
  341. Print 
  342. Print "   Accounting(10)      ....  Jump(25)           ....  Psychology(05)    ...."
  343. Print "   Anthropology(00)    ....  Law (05)           ....  Read/Write (EDUx5)...."
  344. Print "   Archaeology(00)     ....  Library Use(25)    ....  Read/Write    (00)...."
  345. Print "   Art                 ....  Listen(25)         ....  Read/Write    (00)...."
  346. Print "   Astronomy(00)       ....  Locksmith          ....  Read/Write    (00)...."
  347. Print "   Bargain(05)         ....  Make Maps(10)      ....  Ride(05)          ...."
  348. Print "   Biology             ....  Martial Arts       ....  Sing(05)          ...."
  349. Print "   Chemistry(00)       ....  Mechanic Repair(20)....  Sneak(10)         ...."
  350. Print "   Climb(40)           ....  Medicine           ....  Speak         (00)...."
  351. Print "   Conceal(25)         ....  Natural History    ....  Speak         (00)...."
  352. Print "   Credit Rating(15)   ....  Navigate           ....  Spot Hidden(25)   ...."
  353. Print "   Cthulhu Mythos(00)  ....  Occult(05)         ....  Swim(25)          ...."
  354. Print "   Debate(10)          ....  Op Hvy Machine(00) ....  Throw(25)         ...."
  355. Print "   Dodge (DEXx2)       ....  Oratory(05)        ....  Track Handgun     ...."
  356. Print "   Drive Auto(20)      ....  Latin              ....  Track(10)         ...."
  357. Print "   Electric Repair(10) ....  Persuade           ....  Treat Disease(05) ...."
  358. Print "   Fast Talk(05)       ....  Pharmacy(00)       ....  Treat Poison(05)  ...."
  359. Print "   First Aid(30)       ....  Photography(10)    ....  Zoology(00)       ...."
  360. Print "   Geology(00)         ....  Physics            ....  "
  361. Print "   Hide(10)            ....  Pilot(00)          ....  "
  362. Print "   History(20)         ....  Psychoanalysis(00) ....  "
  363. Print 
  364. '
  365. Gosub DELAY
  366. '
  367. Print "   ------------------------------------------------------------------------ "
  368. Print 
  369. Print "   INCOME AND SAVINGS"
  370. Print 
  371. Print "   Yearly Income ";CASH
  372. Print "   Savings       ";SAV
  373. Print 
  374. Print "   Weapon         Attk%   Damage   Impale   Parry%   Hit Points"
  375. Print 
  376. Print 
  377. '
  378. '
  379. '
  380. '
  381. '
  382. '
  383. ' ************************************************************************** 
  384. '
  385. '
  386. '
  387. '
  388. ' ************************************************************************** 
  389. '
  390. '
  391. ' Version 3 rules have only 9 occupations
  392. '
  393. '
  394. Data "Antiquarian/Historian"
  395. Data "Author"
  396. Data "Dilettante"
  397. Data "Doctor Of Medicine"
  398. Data "Journalist"
  399. Data "Lawyer"
  400. Data "Parapsychologist"
  401. Data "Private Investigator"
  402. Data "Professor"
  403. '
  404. '
  405. ' ************************************************************************** 
  406. '
  407. '
  408. '
  409. '   Available skills 
  410. '
  411. Data "Accounting","Anthropology","Archaeology","Art         ","Astronomy"
  412. Data "Bargain   ","Biology    ","Botany     "
  413. Data "Chemistry","Climb    ","Conceal","Credit Rating"
  414. Data "Debate   ","Diagnose Disease","Dodge      ","Drive Auto"
  415. Data "Electrical Repair","Fast Talk   ","First Aid   "
  416. Data "Geology   ","Handgun Attack","Hide     ","History  ","Jump         "
  417. Data "Latin        ","Law          ","Library Use","Linguist   ","Listen   ","Locksmith"
  418. Data "Make Maps","Martial Arts","Mechanical Repair","Medicine"
  419. Data "Natural History","Navigate  "
  420. Data "Occult   ","Oratory     ","Operate Heavy Machinery"
  421. Data "Other Language","Own Language"
  422. Data "Persuade   ","Pharmacy","Photography","Physics   ","Pilot     "
  423. Data "Psychoanalysis","Psychology"
  424. Data "Ride     ","Rifle Attack","Shotgun Attack","Sneak     ","Spot Hidden","Swim     "
  425. Data "Treat Disease","Treat Poison   "
  426. Data "Throw    ","Track Handgun","Zoology    "
  427. '
  428. '
  429. ' ************************************************************************** 
  430. '
  431. '
  432. ' Version 5 has 26 occupations 
  433. '
  434. 'Data "Antiquarian","Artist","Athlete","Author"
  435. 'Data "Clergyman","Criminal","Dilettante","Doctor Of Medicine" 
  436. 'Data "Engineer","Entertainer","Farmer/Woodsman","Foot Soldier"
  437. 'Data "Hobo","Journalist","Lawyer","Military Commander","Missionary","Musician"
  438. 'Data "Parapsychologist","Police Detective","Police Patrolman" 
  439. 'Data "Private Investigator","Professor","Revolutionary" 
  440. 'Data "Tribal Fisherman","Tribal Warrior"
  441. '
  442. '
  443. '
  444. '
  445. '
  446. ' ************************************************************************** 
  447. '
  448. '
  449. '
  450. '
  451. ' 12 weapons 
  452. '  
  453. Data "Machine Gun","Rifle","Shotgun","Submachine Gun","Fist/Punch","Head Butt"
  454. Data "Kick","Grapple","Nightstick","Cultural Weapon","Boating","Other"
  455. '
  456. '
  457. '
  458. '
  459. ' ************************************************************************** 
  460. '
  461. '
  462. '
  463. '
  464. '
  465. ' ************************************************************************** 
  466. '
  467. '
  468. '
  469. '
  470. ' ************************************************************************** 
  471. '
  472. '
  473. 'Print "   MAGIC POINTS                          HIT POINTS" 
  474. 'Print 
  475. 'Print "    1  2  3  4  5  6  7                   1  2  3  4  5  6  7" 
  476. 'Print "    8  9 10 11 12 13 14                   8  9 10 11 12 13 14" 
  477. 'Print "   15 16 17 18 19 20 21                  15 16 17 18 19 20 21" 
  478. 'Print 
  479. 'Print 
  480. 'Print "   SANITY POINTS 
  481. 'Print 
  482. 'Print "   (Insanity .............)    1  2  3  4  5  6  7  8  9 10 11 12 13 14 15"
  483. 'Print "   16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39"
  484. 'Print "   40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63"
  485. 'Print "   64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87"
  486. 'Print "   88 89 90 91 92 93 94 95 96 97 98 99"
  487. '
  488. '
  489. '
  490. ' ************************************************************************** 
  491. '
  492. '
  493. '
  494. '
  495. '
  496.